package com.accounting.client.remote;

import com.accounting.client.remote.obj.Order;
import com.accounting.client.remote.transfer.CreateOrderRequest;
import com.accounting.client.remote.transfer.CreateQuickOrderRequest;
import com.accounting.client.remote.transfer.SearchOrderRequest;
import com.accounting.client.remote.transfer.UpdateOrderRequest;
import com.google.gwt.user.client.rpc.AsyncCallback;

import corelib.client.search.PagingRequest;
import corelib.client.search.PagingResult;

public interface OrderServiceAsync {
	
	public void CancelOrder(String passport, int orderId,  AsyncCallback<Boolean> callback);
	public void CreateOrder(String passport, CreateOrderRequest request, AsyncCallback<Boolean> callback);
	public void UpdateOrder(String passport, UpdateOrderRequest request, AsyncCallback<Boolean> callback);
	public void TrackOrder (String passport,  int orderId, AsyncCallback<String> callback);
	public void UpdateOrderStatus(String passport, int orderId, int status, AsyncCallback<Boolean> callback);
	
	public void ListOrders  (String passport, PagingRequest request, AsyncCallback<PagingResult<Order>> callback);
	public void SearchOrders(String passport,SearchOrderRequest request, AsyncCallback<PagingResult<Order>> callback);
	public void CreateQuickOrder (String passport, CreateQuickOrderRequest request, AsyncCallback<Boolean> callback);
	
}
